package com.lyl.serviceedu;

public class MstString   {

    public static void main(String[] args) {

        // 基本数据类型:
        // 数字6:整型4  short byte int long  小数:2  double float
        // char  boolean
        //基本数据类型: 栈, 常量栈  int i=10; 10就是一个常量 如果把i=11; 先看常量区有没有11 ,如果有 直接让i指向11 ,如果没有
        //创建一个新的额常量11  这里10, 11 都是常量
        // 引用数据类型: 堆 GC(垃圾回收机制就是发生堆中)
        int i= 10;//
        String str="abc";// 存到了栈中,就意味着 abc也是常量只读, 每次修改都会产生新的常量, 当你的string修改的次数过多的
//        时候, 就会产生大量的 废除字符串, 非常浪费内存, 避免使用string做频繁的修改

        // 1.这行代码中产生了几个对象?
        String str1 = new String("abc");// 一new 就会到堆中开辟新的内存
//         StringBuilder :    线程不安全的  效率高
//          StringBuffer   : 线程安全  效率低
        StringBuffer sb=new StringBuffer("abc");// 频繁修改的时候 使用StringBuffer
        sb.append("aaa");

    }
}
